package com.zdkj.subway.st.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zdkj.common.core.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 乘客事务退换票
 *
 * @author cuilei
 * @date 2020-05-25 13:38:12
 */
@Data
@TableName("sw_st_input_passenger_work_ticket")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "乘客事务退换票")
public class SwStInputPassengerWorkTicket extends BaseEntity<SwStInputPassengerWorkTicket> {
    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId
    @ApiModelProperty(value = "唯一标识")
    private Integer id;
    /**
     * 线路编码
     */
    @ApiModelProperty(value = "线路编码")
    private String lineCode;
    /**
     * 车站编码
     */
    @ApiModelProperty(value = "车站编码")
    private String stationCode;
    /**
     * 操作类型 0:及时退换票;1:非及时退换票
     */
    @ApiModelProperty(value = "操作类型 0:即时退换票;1:非即时退换票")
    private String operationType;
    /**
     * 办理类型 0:退票;1:换票
     */
    @ApiModelProperty(value = "办理类型 0:退票;1:换票")
    private String handleType;

    @ApiModelProperty(value = "数据源(0:车站,1:线网)")
    private String dataSource;

    /**
     * 票种
     */
    @ApiModelProperty(value = "票种")
    private String ticketType;

    /**
     * 车票名称
     */
    @ApiModelProperty(value = "车票名称")
    private String ticketName;
    /**
     * 原卡号
     */
    @ApiModelProperty(value = "原卡号")
    private String cardOrder;
    /**
     * 替换卡号
     */
    @ApiModelProperty(value = "替换卡号")
    private String replaceCardOrder;
    /**
     * 金额预估金额
     */
    @ApiModelProperty(value = "金额预估金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "新发票卡有效期")
    private String activeTime;

    @ApiModelProperty(value = "新票卡次数")
    private Integer ticketTimes;
    /**
     * 预估次数
     */
    @ApiModelProperty(value = "预估次数")
    private String estimatedNumber;
    /**
     * 无效票状态
     */
    @ApiModelProperty(value = "无效票状态:0:未发送;1:已发送")
    private String invalidTicketStatus;

    /**
     * 无效票确认状态
     */
    @ApiModelProperty(value = "无效票确认状态 0:未发送1:已发送2:审核通过3:审核未通过4:已完善5:已确认")
    private String invalidTicketConfirmStatus;

    /**
     * 办理人
     */
    @ApiModelProperty(value = "办理人")
    private String handlePersonName;
    /**
     * 办理人工号
     */
    @ApiModelProperty(value = "办理人工号")
    private String handlePersonCode;
    /**
     * 办理时间
     */
    @ApiModelProperty(value = "办理时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handleTime;
    /**
     * 售票员
     */
    @ApiModelProperty(value = "售票员")
    private String conductorName;
    /**
     * 售票员工号
     */
    @ApiModelProperty(value = "售票员工号")
    private String conductorCode;
    /**
     * 班次
     */
    @ApiModelProperty(value = "班次")
    private String classNumber;
    /**
     * 设备操作编号
     */
    @ApiModelProperty(value = "设备操作编号")
    private String deviceOperateNum;
    /**
     * 状态:0:未提交;1:已提交
     */
    @ApiModelProperty(value = "状态:0:未提交;1:已提交")
    private String submitStatus;
    /**
     * 客值确认状态:0:未确认;1:已确认
     */
    @ApiModelProperty(value = "状态:0:未确认;1:已确认")
    private String confirmStatus;
    /**
     * 图片上传
     */
    @ApiModelProperty(value = "图片上传")
    private String filePath;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "部门ID")
    private Integer deptId;

    @ApiModelProperty(value = "创建人ID")
    private Integer creatorId;

    @ApiModelProperty(value = "创建人名称")
    private String creatorName;
    /**
     * 办理时间
     */
    @ApiModelProperty(value = "办理时间 yyyy-MM-dd")
    //@ExcelIgnore
    @TableField(exist = false)
    private String HandleTimeDTO;
    /**
     * 默认1---1：未审批  2：审批通过  3：审批未通过
     */
    @ApiModelProperty(value = "默认1---1：未审批  2：审批通过  3：审批未通过")
    private String auditStatus;

    /**
     * 报表修改状态：默认0\r\n0：关闭\r\n1：打开，打开时可以编辑，保存时并记录日志
     */
    @ApiModelProperty(value = "报表修改状态：默认0\\r\\n0：关闭\\r\\n1：打开，打开时可以编辑，保存时并记录日志")
    private String reportModifyStatus;

    /**
     * 更新人工号
     */
    @ApiModelProperty(value="更新人工号")
    private String entryUpdateJobNo;

    /**
     * 更新人名称
     */
    @ApiModelProperty(value="更新人名称")
    private String entryUpdateJobName;

    /**
     * 更新时间
     */
    @ApiModelProperty(value="更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date entryUpdateTime;


    /**
     * 是否是合并数据  1：是 0 否 默认0
     */
    @ApiModelProperty(value = "是否是合并数据  1：是 0 否 默认0")
    private String isMerge;

    /**
     * 被合并的数据ID ,中间用逗号隔开 对应合并后的数据，存储对应的被合并的数据ID
     */
    @ApiModelProperty(value="被合并的数据ID ,中间用逗号隔开 对应合并后的数据，存储对应的被合并的数据ID")
    private String isBeMergedId;

    /**
     * 合并前的班次，中间用逗号隔开
     */
    @ApiModelProperty(value="合并前的班次，中间用逗号隔开")
    private String mergeConductorShifts;

	/**
     * 查询来源虚拟字段  1：报表差错跳转   
     */
    @ApiModelProperty(value="查询来源  1：报表差错跳转")
	@TableField(exist = false)
    private String sourceQueryFlag;
    /**
     * 车票价格
     */
    @ApiModelProperty(value = "车票价格")
    private BigDecimal ticketPrice;

    /**
     * 替换票种
     */
    @ApiModelProperty(value = "替换票种")
    private String replaceTicketType;

    /**
     * 替换车票名称
     */
    @ApiModelProperty(value = "替换车票名称")
    private String replaceTicketName;

    /**
     * 是否加入报表差错
     */
    @ApiModelProperty(value = "是否加入报表差错")
    private String isAddReprotError;
}
